package algo3.pruebas;

import junit.framework.TestCase;
import algo3.modelo.Direccion;
import algo3.modelo.Juego;
import algo3.modelo.Posicion;
import algo3.modelo.armas.Arma;
import algo3.modelo.armas.DisparoConvencional;
import algo3.modelo.barcos.Barco;
import algo3.modelo.barcos.Lancha;

public class IntegracionTest extends TestCase {

	public void testUnaLanchaAvanzaYRecibeDisparosEnPrimerYTercerTurno() {
		
		Juego juego = new Juego(10, 10);
		Barco lancha = new Lancha(new Posicion(3, 3), Direccion.DERECHA, Direccion.DERECHA);
		Arma disparo = new DisparoConvencional(new Posicion(3, 3));
		
		
		juego.agregarBarco(lancha);
		juego.agregarArma(disparo);
		
		juego.avanzarTurno();

		assertEquals(Barco.Estado.DANIADO, lancha.getEstado());
		
		juego.avanzarTurno();
		
		assertEquals(Barco.Estado.DANIADO, lancha.getEstado());

		// disparamos a la ultima parte que queda en el lugar donde tiene que estar
		juego.agregarArma(new DisparoConvencional(new Posicion(6, 3)));
		
		juego.avanzarTurno();
	
		assertEquals(Barco.Estado.HUNDIDO, lancha.getEstado());
	}
}
